import { useUserStore } from "@/store/userStore";
import router from "@/router";

export function processMenu(menuData: IMenuData[]) {
  // 1.1 先找出所有的1级
  let menus: (IMenuData & { children: IMenuData[] })[] = menuData
    .filter(item => item.parentId == 0)
    .map(item => ({ ...item, children: [] }))
  // 1.2 根据 parentId 和 1级的id关系，把对应的 二级 变成1级的 children
  menuData.forEach((item) => {
    // 判断 item 的parentId 是否是 menus 里面的id 之一
    menus.forEach((p) => {
      // 判断 是否显示
      if (p.id === item.parentId) {
        p.children.push(item)
      }
    })
  });
  return menus;
}

export function logout() {
  const store = useUserStore();
  // 删除token
  localStorage.removeItem('token');
  // 删除动态路由
  // router.removeRoute('ums');
  // 获取所有的动态生成的一级路由，然后删除
  store.menuData.filter(item => item.parentId === 0).forEach((item) => {
    router.removeRoute(item.name)
  })
  // 删除全局状态
  store.clear();
  // 还要把所有的的仓库清空
  // 返回登录页
  router.push('/login')
}

// 可以自己使用dayjs进行时间的转换
// 我们这里简单处理
export function formatDate(date: string) {
  if (!date) return "";
  return date.replace('T', ' ').substring(0, 19)
}